--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 4da00e57f332c9e4d9609d4016d461b968ef72b0
Parents : 4a935cb
Author : Mark Qvist <mark@unsigned.io>
Date : 2022-09-28T16:00:09+02:00
Better terminal palette handling. Fixes #8.
Changes
2 files changed, 12 insertions(+), 1 deletions(-)
Diff
diff --git a/nomadnet/NomadNetworkApp.py b/nomadnet/NomadNetworkApp.py
index 9c62590..c845c43 100644
--- a/nomadnet/NomadNetworkApp.py
+++ b/nomadnet/NomadNetworkApp.py
@@ -47,6 +47,14 @@ class NomadNetworkApp:
except Exception as e:
RNS.log("Could not restore flow control sequences. The contained exception was: "+str(e), RNS.LOG_WARNING)
+ if hasattr(self.ui, "restore_palette"):
+ if self.ui.restore_palette:
+ try:
+ self.ui.screen.write("\x1b]104\x07")
+
+ except Exception as e:
+ RNS.log("Could not restore terminal color palette. The contained exception was: "+str(e), RNS.LOG_WARNING)
+
RNS.log("Nomad Network Client exiting now", RNS.LOG_VERBOSE)
def exception_handler(self, e_type, e_value, e_traceback):
diff --git a/nomadnet/ui/TextUI.py b/nomadnet/ui/TextUI.py
index 4a8abf9..ae3e17d 100644
--- a/nomadnet/ui/TextUI.py
+++ b/nomadnet/ui/TextUI.py
@@ -207,7 +207,10 @@ class TextUI:
def set_colormode(self, colormode):
self.colormode = colormode
self.screen.set_terminal_properties(colormode)
- self.screen.reset_default_terminal_palette()
+
+ if self.colormode < 256:
+ self.screen.reset_default_terminal_palette()
+ self.restore_palette = True
def unhandled_input(self, key):
if key == "ctrl q":
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────